﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Bdcs.Core.Entity
{
    /// <summary>
    /// System_DictInfo数据模型对象
    /// </summary>
    [Serializable]
    public partial class System_DictInfoMod
    {
        /// <summary>
        /// 初始化System_DictInfo数据模型对象
        /// </summary>
        public System_DictInfoMod()
        {
            
        }
        /// <summary>
        /// 初始化System_DictInfo数据模型对象并给在SQL中不能为空的字段赋值
        /// </summary>
        /// <param name="dictID">DictID</param>
        /// <param name="dictName">DictName</param>
        /// <param name="isSystem">IsSystem</param>
        /// <param name="dictType">DictType</param>
        /// <param name="serial">Serial</param>
        /// <param name="canDelete">CanDelete</param>
        public System_DictInfoMod(string dictID,string dictName,bool isSystem,string dictType,int serial,bool canDelete)
        {
            //给DictID字段赋值
            this.DictID = dictID;
            //给DictName字段赋值
            this.DictName = dictName;
            //给IsSystem字段赋值
            this.IsSystem = isSystem;
            //给DictType字段赋值
            this.DictType = dictType;
            //给Serial字段赋值
            this.Serial = serial;
            //给CanDelete字段赋值
            this.CanDelete = canDelete;
        }
        /// <summary>
        /// 初始化System_DictInfo数据模型对象并给所有字段赋值
        /// </summary>
        /// <param name="dictID">DictID</param>
        /// <param name="dictName">DictName</param>
        /// <param name="description">Description</param>
        /// <param name="isSystem">IsSystem</param>
        /// <param name="dictType">DictType</param>
        /// <param name="serial">Serial</param>
        /// <param name="canDelete">CanDelete</param>
        public System_DictInfoMod(string dictID,string dictName,string description,bool isSystem,string dictType,int serial,bool canDelete)
        {
            //给DictID字段赋值
            this.DictID = dictID;
            //给DictName字段赋值
            this.DictName = dictName;
            //给Description字段赋值
            this.Description = description;
            //给IsSystem字段赋值
            this.IsSystem = isSystem;
            //给DictType字段赋值
            this.DictType = dictType;
            //给Serial字段赋值
            this.Serial = serial;
            //给CanDelete字段赋值
            this.CanDelete = canDelete;
        }
        
		//属性存储数据的变量
        private string _dictID;
        private string _dictName;
        private string _description;
        private bool _isSystem;
        private string _dictType;
        private int _serial;
        private bool _canDelete;
        
        /// <summary>
        /// DictID
        /// </summary>
        public string DictID
        {
            get { return this._dictID; }
            set { this._dictID = value; }
        }
        /// <summary>
        /// DictName
        /// </summary>
        public string DictName
        {
            get { return this._dictName; }
            set { this._dictName = value; }
        }
        /// <summary>
        /// Description
        /// </summary>
        public string Description
        {
            get { return this._description; }
            set { this._description = value; }
        }
        /// <summary>
        /// IsSystem
        /// </summary>
        public bool IsSystem
        {
            get { return this._isSystem; }
            set { this._isSystem = value; }
        }
        /// <summary>
        /// DictType
        /// </summary>
        public string DictType
        {
            get { return this._dictType; }
            set { this._dictType = value; }
        }
        /// <summary>
        /// Serial
        /// </summary>
        public int Serial
        {
            get { return this._serial; }
            set { this._serial = value; }
        }
        /// <summary>
        /// CanDelete
        /// </summary>
        public bool CanDelete
        {
            get { return this._canDelete; }
            set { this._canDelete = value; }
        }
        
        /// <summary>
        /// 对比两个System_DictInfo数据模型对象是否一致
        /// </summary>
        /// <param name="obj">要进行比对的System_DictInfo数据模型对象</param>
        /// <returns>返回是否一致，为true一致，为false不一致</returns>
        public override bool Equals(object obj)
        {
            //判断传入对象是否为null
            if (obj == null) return false;
            //将传入对象转换成System_DictInfo数据模型对象
            System_DictInfoMod system_DictInfoMod = obj as System_DictInfoMod;
            //判断是否转换成功
            if (system_DictInfoMod == null) return false;
            //进行匹配属性的值
            return
                //判断DictID是否一致
                this.DictID == system_DictInfoMod.DictID &&
                //判断DictName是否一致
                this.DictName == system_DictInfoMod.DictName &&
                //判断Description是否一致
                this.Description == system_DictInfoMod.Description &&
                //判断IsSystem是否一致
                this.IsSystem == system_DictInfoMod.IsSystem &&
                //判断DictType是否一致
                this.DictType == system_DictInfoMod.DictType &&
                //判断Serial是否一致
                this.Serial == system_DictInfoMod.Serial &&
                //判断CanDelete是否一致
                this.CanDelete == system_DictInfoMod.CanDelete;
        }
        /// <summary>
        /// 将当前System_DictInfo数据模型对象转换成哈希码
        /// </summary>
        /// <returns>哈希值</returns>
        public override int GetHashCode()
        {
            //将System_DictInfo数据模型对象的属性进行按位异或运算处理得到哈希码并返回
            return
                //将DictID进行按位异或运算处理
                (this.DictID == null ? 2147483647 : this.DictID.GetHashCode()) ^
                //将DictName进行按位异或运算处理
                (this.DictName == null ? 2147483647 : this.DictName.GetHashCode()) ^
                //将Description进行按位异或运算处理
                (this.Description == null ? 2147483647 : this.Description.GetHashCode()) ^
                //将IsSystem进行按位异或运算处理
                this.IsSystem.GetHashCode() ^
                //将DictType进行按位异或运算处理
                (this.DictType == null ? 2147483647 : this.DictType.GetHashCode()) ^
                //将Serial进行按位异或运算处理
                this.Serial.GetHashCode() ^
                //将CanDelete进行按位异或运算处理
                this.CanDelete.GetHashCode();
        }
        /// <summary>
        /// 将当前System_DictInfo数据模型对象转换成字符串副本【仅显示在SQL中不能为空的列】
        /// </summary>
        /// <returns>字符串形式副本</returns>
        public override string ToString()
        {
            //将当前System_DictInfo数据模型对象转换成字符串副本
            return
                "[" +
                //将DictID转换成字符串
                this.DictID + "," +
                //将DictName转换成字符串
                this.DictName + "," +
                //将IsSystem转换成字符串
                this.IsSystem + "," +
                //将DictType转换成字符串
                this.DictType + "," +
                //将Serial转换成字符串
                this.Serial + "," +
                //将CanDelete转换成字符串
                this.CanDelete +
                "]";
        }
    }
}
